#include "chzhi.h"
#include "ui_chzhi.h"
#include <QDebug>
#include <mainwindow.h>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QMessageBox>
#include <QTableWidgetItem>
#include <chzhi_qit.h>

extern QSqlDatabase db;

chzhi::chzhi(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::chzhi)
{
    ui->setupUi(this);
    //设置表格的列数
    ui->tableWidget->setColumnCount(2);
    //设置列宽
    ui->tableWidget->setColumnWidth(0,188);
    ui->tableWidget->setColumnWidth(1,188);
    //设置表格字段名
    ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"用户名："<<"账户余额：");
    //设置表格的行数
    ui->tableWidget->setRowCount(1);
}

chzhi::~chzhi()
{
    delete ui;
}

void chzhi::on_pushButton_clicked()
{
    llbjm *w = new llbjm;
    w->show();

    this->close();
}
void chzhi::on_label_2_linkActivated(const QString &link)
{

}

void chzhi::on_pushButton_8_clicked()
{
    QMessageBox::information(this,"刷新","刷新成功");

    // 使用 arg() 方法将变量插入到查询字符串中
    QString sql = QString("SELECT * FROM user WHERE username = '%1'").arg(username);

    QSqlQuery query(db);
    bool ret = query.exec(sql);

    ui->tableWidget->clear();//把表格列表框清空
    ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"用户名："<<"账户余额：");

    if (!ret) {
        qDebug() << "查询失败:" ;
    } else {
        while (query.next()) {
            QString str = query.value("username").toString();
            qDebug()<<str;
            QTableWidgetItem * item = new QTableWidgetItem(str);
            ui->tableWidget->setItem(0,0,item);
            QString str1 = query.value("balance").toString();
            qDebug()<<str1;

            QTableWidgetItem * item1 = new QTableWidgetItem(str1);
            ui->tableWidget->setItem(0,1,item1);
        }
    }

}


void chzhi::on_pushButton_2_clicked()
{
    // sqlite_Init();
    QTableWidgetItem *item = ui->tableWidget->item(0, 0); // 获取第一行第一列的单元格
    QTableWidgetItem *item1 = ui->tableWidget->item(0, 1); // 获取第一行第二列的单元格
    QString text = item->text(); // 获取用户名
    QString text1 = item1->text(); // 获取账户余额

    // 将text1转换为整数
    int balance = text1.toInt();

    // 将"100"转换为整数
    int amountToAdd = 100;

    // 执行加法运算
    int newBalance = balance + amountToAdd;

    // 将结果转换回QString
    QString text3 = QString::number(newBalance);
    QString cmd = QString("update user set balance = %1 where username = '%2';").arg(text3).arg(text);
    QSqlQuery query;
    bool ret = query.exec(cmd);
    qDebug()<<text3;
    if(!ret){
        qDebug()<<"mjmj";
        return;
    }
}


void chzhi::on_pushButton_3_clicked()
{
    // sqlite_Init();
    QTableWidgetItem *item = ui->tableWidget->item(0, 0); // 获取第一行第一列的单元格
    QTableWidgetItem *item1 = ui->tableWidget->item(0, 1); // 获取第一行第二列的单元格
    QString text = item->text(); // 获取用户名
    QString text1 = item1->text(); // 获取账户余额

    // 将text1转换为整数
    int balance = text1.toInt();

    // 将"100"转换为整数
    int amountToAdd = 200;

    // 执行加法运算
    int newBalance = balance + amountToAdd;

    // 将结果转换回QString
    QString text3 = QString::number(newBalance);
    QString cmd = QString("update user set balance = %1 where username = '%2';").arg(text3).arg(text);
    QSqlQuery query;
    bool ret = query.exec(cmd);
    qDebug()<<text3;
    if(!ret){
        qDebug()<<"mjmj";
        return;
    }
}


void chzhi::on_pushButton_4_clicked()
{
    // sqlite_Init();
    QTableWidgetItem *item = ui->tableWidget->item(0, 0); // 获取第一行第一列的单元格
    QTableWidgetItem *item1 = ui->tableWidget->item(0, 1); // 获取第一行第二列的单元格
    QString text = item->text(); // 获取用户名
    QString text1 = item1->text(); // 获取账户余额

    // 将text1转换为整数
    int balance = text1.toInt();

    // 将"100"转换为整数
    int amountToAdd = 300;

    // 执行加法运算
    int newBalance = balance + amountToAdd;

    // 将结果转换回QString
    QString text3 = QString::number(newBalance);
    QString cmd = QString("update user set balance = %1 where username = '%2';").arg(text3).arg(text);
    QSqlQuery query;
    bool ret = query.exec(cmd);
    qDebug()<<text3;
    if(!ret){
        qDebug()<<"mjmj";
        return;
    }
}


void chzhi::on_pushButton_5_clicked()
{
    // sqlite_Init();
    QTableWidgetItem *item = ui->tableWidget->item(0, 0); // 获取第一行第一列的单元格
    QTableWidgetItem *item1 = ui->tableWidget->item(0, 1); // 获取第一行第二列的单元格
    QString text = item->text(); // 获取用户名
    QString text1 = item1->text(); // 获取账户余额

    // 将text1转换为整数
    int balance = text1.toInt();

    // 将"100"转换为整数
    int amountToAdd = 50;

    // 执行加法运算
    int newBalance = balance + amountToAdd;

    // 将结果转换回QString
    QString text3 = QString::number(newBalance);
    QString cmd = QString("update user set balance = %1 where username = '%2';").arg(text3).arg(text);
    QSqlQuery query;
    bool ret = query.exec(cmd);
    qDebug()<<text3;
    if(!ret){
        qDebug()<<"mjmj";
        return;
    }
}


void chzhi::on_pushButton_6_clicked()
{
    //sqlite_Init();
    QTableWidgetItem *item = ui->tableWidget->item(0, 0); // 获取第一行第一列的单元格
    QTableWidgetItem *item1 = ui->tableWidget->item(0, 1); // 获取第一行第二列的单元格
    QString text = item->text(); // 获取用户名
    QString text1 = item1->text(); // 获取账户余额

    // 将text1转换为整数
    int balance = text1.toInt();

    // 将"100"转换为整数
    int amountToAdd = 30;

    // 执行加法运算
    int newBalance = balance + amountToAdd;

    // 将结果转换回QString
    QString text3 = QString::number(newBalance);
    QString cmd = QString("update user set balance = %1 where username = '%2';").arg(text3).arg(text);
    QSqlQuery query(db);
    bool ret = query.exec(cmd);
    qDebug()<<text3;
    if(!ret){
        qDebug()<<"mjmj";
        return;
    }
}


void chzhi::on_pushButton_7_clicked()
{
    // chzhi_qit * qit = new chzhi_qit;
    // qit->show();
    // qit->p = this;

    // qDebug()<<"0000"<<qita;

    //sqlite_Init();
    QTableWidgetItem *item = ui->tableWidget->item(0, 0); // 获取第一行第一列的单元格
    QTableWidgetItem *item1 = ui->tableWidget->item(0, 1); // 获取第一行第二列的单元格
    QString text = item->text(); // 获取用户名
    QString text1 = item1->text(); // 获取账户余额
    QString text2 = ui->lineEdit->text();
    qDebug()<<text2<<"kkkkkk";

    qDebug()<<text2<<"66666";
    // 将text1转换为整数
    int balance = text1.toInt();

    // 将"100"转换为整数
    int balance1 = text2.toInt();

    if(balance1 > 0){
    qDebug()<<balance1<<"222222";
    //if(balance)
    // 执行加法运算
    int newBalance = balance + balance1;

    // 将结果转换回QString
    QString text3 = QString::number(newBalance);
    QString cmd = QString("update user set balance = %1 where username = '%2';").arg(text3).arg(text);
    QSqlQuery query(db);
    bool ret = query.exec(cmd);
    qDebug()<<text3;
    if(!ret){
        qDebug()<<"mjmj";
        return;
    }
    }
    else{
        qDebug()<<"金额低";
        return;
    }
}

